package modules

import (
	"time"
)

// FileInfo 文件信息结构体
type FileInfo struct {
	Name         string `json:"name"`
	Type         string `json:"type"`
	Path         string `json:"path"`
	ModifiedTime string `json:"modified_time"`
	Size         int64  `json:"size"`
}

// APPConfig 独立的 APP 配置结构体
type APPConfig struct {
	Name string `yaml:"name"`
}

// ServerConfig 独立的 SERVER 配置结构体
type ServerConfig struct {
	Host string `yaml:"host"`
	Port int    `yaml:"port"`
}

// TempConfig 独立的临时文件配置结构体
type TempConfig struct {
	Enabled bool   `yaml:"enabled"`
	Path    string `yaml:"path"`
}

// Config 主配置结构体
type Config struct {
	App               APPConfig    `yaml:"app"`
	Server            ServerConfig `yaml:"server"`
	RootDirs          []string     `yaml:"root_dirs"`
	AllowedExtensions []string     `yaml:"allowed_extensions"`
	Temp              TempConfig   `yaml:"temp"`
}

// TempFileMeta 临时文件元数据
type TempFileMeta struct {
	Filename   string    `json:"filename"`
	UploadTime time.Time `json:"upload_time"`
	FileSize   int64     `json:"file_size"`
}
